#pragma once
#include <string>
#include <vector>
#include "vulkan/vulkan.h"
#include "assimp/material.h"
#include "assimp/Importer.hpp"
#include "assimp/scene.h"
#include "assimp/postprocess.h"
#include "stb/stb_image.h"
class Texture
{
public:
	Texture(std::vector<std::string> filePaths);
	Texture(const std::string& filePath,aiTextureType textureType);
	~Texture();

	VkImage m_TextureImage;
	VkDeviceMemory m_TextureImageMemory;
	VkImageView m_TextureImageView;
	VkSampler m_TextureSampler;
	VkFormat m_TextureFormat;

	aiTextureType m_TextureType;
	std::string m_TextureName;

private:
	uint32_t m_MipLevels;
	void CreateTextureSampler();

};

